When viewing an image on an electronic display such as a computer monitor, it is often desirable to see the image at different magnification levels and to pan around different parts of the image. The panned and zoomed image data has to fit a constant 2-dimensional viewing area of the user's display. For higher resolutions—close-ups—the viewing area of the display can only show one close-up at a time.
For many images, when the image subject matter is not on a grand scale, or, microscopic magnification is not needed, a single image captures enough detail so that the image can just be scaled to provide different resolution levels. More often, however, the subject matter of the image cannot be captured at high resolution in a single image. For example, it is not practical to scale a single image of the entire world captured from space so that the scaling of this single image can provide a treetop view of any place in the world.
Rather, for large-scale images, a multi-resolution hierarchy of images is adopted. Examples of such large-scale images are satellite and aerial maps, both local and global, and extremely large panoramic images. As shown in FIG. 1, the images are often managed by a tiling scheme shown by the tiling decomposition diagram, in which the tiles are placed in a “tile image hierarchy” 100 and swapped in various ways to try to produce a satisfactory view for the user at a given location and zoom level in the image. For example, in one decomposition scenario, a first level includes four tiles (e.g., such as four of tile 102) that portray the entire image; a second level portrays the entire image in 16 tiles of higher resolution (e.g., tile 104), a third level portrays the entire image in 64 tiles of even higher resolution (e.g., tile 106), and so forth.
In conventional systems for remotely browsing such large-scale images, the tiles for any given level are queued up for download as they are needed. Then the queued tiles must be transmitted to the remote user's machine, typically over a network such as the Internet. Sometimes some of the tiles surrounding but not included in the area to be immediately viewed are also retrieved in a “read ahead” manner in order to anticipate the user panning to adjacent areas that are as yet still off the display area. This makes the next probable images available near at hand, so that if they are needed, they appear faster than if their download began when they were already needed to create a view. Even with this read ahead capacity, such conventional systems usually suffer from the problem of the user “outdriving” the available tiles. That is, the user may pan and zoom with a mouse or pointing device faster than the image tiles needed to create a view on the display can be downloaded. This leaves fresh areas of the screen cluttered with blank areas where the missing tiles are not yet available to display. Or, each new zoom layer may be disturbed by a visible and annoying repainting of the screen.
Conventionally, requests to download new images (new tiles) are sent for the tiles belonging to the resolution level of the current view, and the resulting download time greatly constrains the freedom of movement and navigation speed of the viewer.